Skip to content

Conversation

hasufell
Copy link
Member

@hasufell hasufell commented Jul 21, 2025

As described here: #11078

Depends-on: #11072

Copy link
Contributor

mergify bot commented Jul 21, 2025

⚠️ The sha of the head commit of this PR conflicts with #11072. Mergify cannot evaluate rules on this PR. ⚠️

@hasufell hasufell force-pushed the stable-haskell/feature/release-ci-pr2 branch 2 times, most recently from d3e473e to 2b167fa Compare July 23, 2025 07:18
@hasufell hasufell mentioned this pull request Jul 24, 2025
@hasufell hasufell requested a review from geekosaur July 30, 2025 13:46
- glibc (dynamic)
- musl (fully static)

'gmp' and 'zlib' are always statically linked.
@hasufell hasufell force-pushed the stable-haskell/feature/release-ci-pr2 branch from 35aabea to fa10655 Compare August 7, 2025 05:32
@ulysses4ever ulysses4ever linked an issue Aug 7, 2025 that may be closed by this pull request
@mpickering
Copy link
Collaborator

I think this is an interesting direction to investigate but I think that we should let the migration from gitlab to github release CI settle down first before making other major changes to the packaging and distribution story.

It could be worth discussing this issue in the cabal developers meeting or on a cabal proposal if there are differences of opinion about what's best to do. I'm normally just quite conservative when it comes to changing things to do with distribution.

run: |
cd out
tar xf *.${TARBALL_EXT}
ldd cabal | grep --quiet gmp && exit 1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check could also check that there aren't other libraries dynamically linked just-in-case others slip into the build plan accidentally.

},
{ image: "fedora:36"
{ image: "fedora:37"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These test platform changes seem unrelated.

curl -O -L ${{ env.GMP_URL }}/gmp-${{ env.GMP_VERSION }}.tar.xz
tar xf gmp-${{ env.GMP_VERSION }}.tar.xz
cd gmp-${{ env.GMP_VERSION }}
CFLAGS=-fPIC ./configure --prefix=$HOME/.local/ --disable-shared
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIU, static linking of the gmp library is suitable for the distribution of cabal-install since it is possible for an end user to rebuild the relevant cabal-install release (since the source code is distributed) and link against a different version of gmp.

As I think this point is commonly misunderstood, at least linking to a description of this issue would be a good idea I think in case someone else wonders the same thing.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about a more practical issue: cabal doesn't use gmp itself, the dependency comes from the RTS. How safe is linking against a different version than GHC was built against?

@hasufell
Copy link
Member Author

I think this is an interesting direction to investigate but I think that we should let the migration from gitlab to github release CI settle down first before making other major changes to the packaging and distribution story.

It could be worth discussing this issue in the cabal developers meeting or on a cabal proposal if there are differences of opinion about what's best to do. I'm normally just quite conservative when it comes to changing things to do with distribution.

I don't think I will have capacity to write a cabal proposal or come back to this in a couple of months, so feel free to close this PR as rejected in that case.

@geekosaur
Copy link
Collaborator

I just copied the Alpine update into validate.yml and reusable-release.yml in #11154; possible rebase conflict as a result.

@ffaf1 ffaf1 marked this pull request as draft August 14, 2025 17:49
@ffaf1
Copy link
Collaborator

ffaf1 commented Aug 17, 2025

We have discussed this on today’s Cabal-dev call.

It is an interesting PR, we're interested in exploring this direction in future. Thanks for your work in this area.

We prefer to postpone any such changes after the recent rewrite of CI has stabilised. This means at least after the next major release (3.18).

I've removed the review-needed label and put the PR in a draft state.

@hasufell hasufell closed this Aug 18, 2025
@hasufell
Copy link
Member Author

and put the PR in a draft state.

Whether something is a Draft or not is up to the PR author to decide, unless you can demonstrate what the PR specifically is lacking (which you couldn't).

I'm not going to work on this in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rewrite release CI
4 participants